VisualHMI - 协议说明

VisualHMI集成DCBUS、XGUS、Modbus(主/从机)和FX2N等协议。用户开发时候,同一路串口只能使用一种协议。用户根据产品,选择对应协议开发。用户不需要关心屏幕端如何接收或发送指令/报文,只需要将变量地址关联到对应的组态控件即可。屏幕底层会将接收的报文解析后,将数据更新到控件中;同时,操作控件时,会将相应的寄存器的值下发到设备中。

1 DCBUS

DCBUS协议:一种组态协议。在工程设置中,DCBUS协议,如下所示:

image-20231108154316893

  1. 帧头:2byte,默认为0xAA55,用户可自定义
  2. 站号:1byte,默认为站号0,255为广播地址。一般在RS485总线用于区分那个从站;
  3. 启用CRC:2byte,默认是启用,若关闭,校验字段默认为0XCCCC;帧头不参与校验;计算方法如下所示:
  4. 自动上传:当开启后,用户操作控件会自动上传指令给用户主板
  5. 写命令应答:用户主板给屏幕写寄存器时候,会自动应答写成功
uint16 MB_calc_crc16(uint8 *buffer, uint32n)
{

    uint16 crc, i, j, carry_flag, a;
    crc = 0xffff;

    for(i = 0; i < n; i++)
    {
        crc  =  crc^buffer[i];

        for(j = 0;j < 8;j++)
        {
            a = crc;
            carry_flag = a&0x0001;
            crc = crc >> 1;
            if(carry_flag == 1)
                crc = crc^0xa001;
            }
    }
    return crc;
}

读、写、应答的帧格式如下所示:

帧头(2byte) 站号(1byte) 长度(1byte) 功能码(1byte) 地址(2byte) 数据(n byte) 校验(2byte)
0xAA55 0x00~0xFF 功能码+…+校验 0xF1/0xF2 0x0000~0xFFFF ……. 0xCCCC

1.1 写变量存储器指令指令(0xF1)

以向 0x1000 变量地址里写数值100为例: AA55 00 07 F1 1000 0064 CCCC

  • AA55 表示:帧头;

  • 00表示:站号;

  • 07表示:数据长度,功能码+…+校验的总字节长度;

  • F1表示:写寄存器;

  • 1000表示:变量地址(2 byte);

  • 0064表示:数据 100(2byte);

  • CCCC表示:预留字段,没有开启CRC;

若屏幕的站号为1: AA55 01 07 F1 1000 0064 CCCC

若屏幕的站号为1、开启CRC :AA55 01 07 F1 1000 0064 7289


屏幕开启应答:AA55 00 03 F1 CCCC

若屏幕的站号为1:AA55 01 03 F1 CCCC

若屏幕的站号为1、开启CRC:AA55 01 03 F1 B0B4

1.2 读变量存储器指令指令(0xF2)

以读 1000 变量地址里的数值(假设当前数值为 100)为例:AA55 00 06 F2 1000 01 CCCC

  • AA55 表示:帧头;

  • 00表示:站号;

  • 06表示:数据长度;

  • F2表示:读寄存器;

  • 1000表示:变量起始地址(2 byte);

  • 01表示:读取的地址个数,范围为1~255个(1byte);

  • CCCC表示:预留字段,没有开启CRC;

屏收到主板的指令,返回读应答指令:AA55 00 08 F2 1000 01 0064 CCCC

  • AA55 表示:帧头;

  • 00表示:站号;

  • 08表示:数据长度;

  • F2表示:读寄存器;

  • 1000表示:变量起始地址(2 byte);

  • 01表示:寄存器数据的长度,单位1 word;

  • 0064表示:寄存器值,100

  • CCCC表示:预留字段,没有开启CRC;


若屏幕的站号为1:

主板请求:AA55 01 06 F2 1000 01 CCCC

屏幕返回:AA55 01 08 F2 1000 01 0064 CCCC


若屏幕的站号为1、开启CRC :

主板请求:AA55 01 06 F2 1000 01 7B77

屏幕返回:AA55 01 08 F2 1000 01 0064 8CFD

1.3 屏幕修改变量上传主板(0xF2)

若开启 “自动上传”,用户在屏幕上操作控件,修改寄存器值,可自动发出指令上传给主板。

如,点击屏幕将寄存器LW1000修改为100:AA55 0008 F2 1000 01 0064 CCCC

  • AA55 表示:帧头;

  • 00表示:站号;

  • 08表示:数据长度;

  • F2表示:读寄存器;

  • 1000表示:变量起始地址(2 byte);

  • 01表示:寄存器数据的长度,单位1 word;

  • 0064表示:寄存器值,100

  • CCCC表示:预留字段,没有开启CRC;

2 XGUS

XGUS协议格式如下所示:

帧头(2byte) 长度(1byte) 功能码(1byte) 地址(2byte) 数据(n byte) 校验(2byte)
0xAA55 0x00~0xFF 0x80/0x81/0x82/0x83 0x0000~0xFFFF …….

在工程属性配置,开启XGUS协议,如下所示:

image-20231109145449934

  1. 帧头:2byte,默认为0x5AA5, 用户可自定义;

  2. 启用CRC:2byte,默认是启用;

  3. 自动上传:当开启后,用户操作控件会自动上传指令给用户主板;

  4. 写命令应答:用户主板给屏幕写寄存器时候,会自动应答写成功;

  5. 模式:兼容两种模式

    • 模式1:切换画面使用0x80: 5AA5 03 80 03 XX, XXXX表示画面ID

    • 模式2:切换画面使用0x82: 5AA5 07 82 0084 5A01 XXXX , XXXX表示画面ID

3 Modbus RTU

屏幕支持标准的Modbus-RTU协议,可以设置为主机或从机

3.1 主机模式-ModbusMaster

当屏幕设置为主机时候,配置如下所示:

image-20231109150043523

  1. 最多读取数:单条指令读取最多字节数;
  2. 读取间隔数:地址间隔小于此值,可以合并读取;
  3. 写重试次数:写入失败时候,最大重试次数;
  4. 超时时间:主机等待从机应答时间,单位毫秒ms;
  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求的时间;
  6. 写寄存器命令:可设置为自动和0x10;

    • 自动:默认写单个寄存器用0x06指令,写多个寄存器用0x10指令;

    • 0x10:所有写操作均匀0x10写;

  7. 离线优化读取:勾选后,离线的从机,不在发送指令请求;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:默认为1个。多个从站,常用于RS485总线。界面配置默认最大10个,若要支持更多从站,可以在LUA脚本设置。

  10. 预设字节序:

    • 大端模式:默认是大端
    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

支持功能码:0x01、0x02、0x03、0x04、0x05、0x06、0x0F、0x10

3.2 从机模式-ModbusSlave

当屏幕设置为从机时候,配置如下所示:

image-20231109150535338

  1. 从机站号:从机的站号ID

  2. 字符间隔:单位ms,超过该时间,认为断帧

  3. 延时应答:接收到主机请求,延时一段时间后,在应答主机;

  4. 与PLC同步画面

  5. 画面写入地址:HMI的画面变化时,可写到指定的PLC地址

  6. 画面取自地址:PLC地址的值变化时,切换到对于画面(自动为0xFFFF)

支持功能码:0x01、0x02、0x03、0x04、0x05、0x06、0x0F、0x10

4 三菱-FX2N

4.1 协议说明

屏幕支持标准的FX2N协议,配置下所示:

image-20231109150714918

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:单位毫秒ms,主机等待从机应答时间;

  5. 间隔时间:单位毫秒ms,主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 模式:可支持标准模式和扩展模式;

    • 标准:以访问D0寄存器为例:指令16进制显示(02 30 31 30 30 30 30 32 03 35 36) ,assic 显示(.0100002.56)。特点指令短、寄存器地址范围小

    image-20231109152822278

    • 扩展:以访问D0寄存器为例:指令16进制显示(02 45 30 30 34 30 30 30 30 32 03 43 45) ,assic 显示(.E00400002.CE)。特点指令长、寄存器地址范围大

      image-20231109153209891

  7. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  8. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

5 三菱-FX3U

5.1 协议说明

屏幕支持标准的FX3U协议,配置如下所示:

image-20231110152515682

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 模式:可支持标准模式和扩展模式;

    • 标准:以访问D0寄存器为例:指令16进制显示(02 30 31 30 30 30 30 32 03 35 36) ,assic 显示(.0100002.56)。特点指令短、寄存器地址范围小

    image-20231110152728728

    • 扩展:以访问D0寄存器为例:指令16进制显示(02 45 30 30 34 30 30 30 30 32 03 43 45) ,assic 显示(.E00400002.CE)。特点指令长、寄存器地址范围大

    image-20231110152827033

  7. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  8. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

6 台达PLC - DELTA(DVP)

6.1 协议说明

支持标准的台达协议,通讯协议ASSIC模式.

起始 符 通讯地址 指令码 数据内容 校验 结束符
STX ADR1 ADR0 CMD1 CMD0 DATA0 ... DATAn LCR1 LCR0 CR LF

协议说明

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

6.2 寄存器类型

支持的寄存器类型如下所示

image-20231110153016471

7 信捷PLC - XC系列

7.1 协议说明

支持标准的信捷PLC - XC系列,协议设置如下所示

image-20231110154459847

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

7.2 寄存器类型

支持的寄存器类型如图 下所示:

image-20231110154551268

8 信捷PLC - XD系列

8.1 协议说明

支持标准的信捷PLC - XD系列,协议设置如下所示:

image-20231110154807413

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

8.2 寄存器类型

支持的寄存器类型如下所示:

image-20231110154856821

9 永宏PLC - FATEK(FB)

9.1 协议说明

支持标准的永宏PLC - FATEK(FB)系列,协议设置如下所示

image-20231110155022809

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端
    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

9.2 寄存器类型

支持的寄存器类型如图下所示:

image-20231110155109972

10 海为HAIWELL PLC - N/S系列

10.1 协议说明

支持标准的海为HAIWELL(N/S)协议,协议说明如下所示:

image-20231110155241094

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  1. 从站数目:支持一主多从

  2. 预设字节序:

    • 大端模式:默认是大端
    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

10.2 寄存器类型

支持的寄存器类型如下所示

image-20231110161337289

11 显控-SAMKOON

11.1 协议说明

支持标准的显控SAMKOO协议,协议说明如下所示:

image-20231110161711789

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

11.2 寄存器类型

支持的寄存器,如图下所示

image-20231110161611997

12 艾默生 - EMERSON

12.1 协议说明

支持标准的艾默生PLC协议,协议设置如下所示

image-20231110162046324

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端
    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

12.2 寄存器类型

支持的寄存器类型如下所示:

image-20231110162134893

13 艾默生 - EMERSON

13.1 协议说明

支持标准的艾默生,协议设置如下所示

image-20231110162344167

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

    13.2 寄存器类型

    支持的寄存器类型如下所示:

image-20231110163740785

14 丰炜PLC - M/VB/VH系列

14.1 协议说明

支持标准的丰炜PLC-M/VB/VH系列,协议设置如下所示

image-20231110164130538

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

    14.2 寄存器类型

    支持的寄存器类型如下所示:

image-20231110164452745

15 松下PLC - FP 系列

15.1 协议说明

支持标准的松下PLC - FP 系列,协议设置如下所示

image-20231110164837717

  1. 最多读取数:单条指令读取最多字节数;

  2. 读取间隔数:地址间隔小于次值,可以合并读取;

  3. 写重试次数:写入失败时候,最大重试次数;

  4. 超时时间:主机等待从机应答时间,单位毫秒ms;

  5. 间隔时间:主机接收到从机应答后,延时一段时间后,在发送下一条请求;

  6. 写寄存器命令:自动或0x10

  7. 离线读取优化:防止从站不在线时,频发读取造成总线堵塞;

  8. 与PLC同步画面:

    • 画面写入地址:HMI的画面变化时,可写到指定的PLC地址;

    • 画面取自地址:PLC地址的值变化时,切换到对应画面(自动为0xFFFF);

  9. 从站数目:支持一主多从

  10. 预设字节序:

    • 大端模式:默认是大端

    • 重新指定:可针对短整型、长整形、单精度、超长整形、双精度浮点数指定字节序

15.2 寄存器类型

支持的寄存器类型如下所示:

image-20231110165146940

Copyright ©Dacai all right reserved,powered by Gitbook该文件修订时间: 2024-01-08 16:28:25

results matching ""

    No results matching ""